#pragma once

#include "types.h"

class TransformFeedbackObject
{
public:
	TransformFeedbackObject();
	~TransformFeedbackObject();

	const U32 &getId() const { return id; }

	void bindBufferBase(const U32 &buffer_id, const S32 &binding_point=-1);

	void bind();
	void begin(const U32 &type);
	void end();
	void unbind();

	void pause();
	void resume();

	void draw(const U32 &type);

protected:
	U32 id;
};

typedef TransformFeedbackObject TFO;
